package com.t.bricks.bussiness.db.mapper.synchtable;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.t.bricks.bussiness.db.entity.synchtable.SynchTable;

@Mapper
public interface SynchTableMapper {

	/**
	 * 添加
	 * @Param synchTable
	 * @return int
	 */
	int add(SynchTable synchTable);

	/**
	 * 删除
	 * @Param sTable
	 * @Param sDataId
	 * @Param sOwner
	 * @return int
	 */
	int del(
		@Param("sTable") String sTable,
		@Param("sDataId") String sDataId,
		@Param("sOwner") String sOwner
	);

	/**
	 * 清理指定用户数据
	 * @Param sOwner
	 * @return MsgEmity
	 */
	int clear(@Param("sOwner") String sOwner);
	
	/**
	 * 查询当前表最后的时间
	 * @param sTable
	 * @param sOwner
	 * @return
	 */
	Date findMaxDate(
		@Param("sTable") String sTable,
		@Param("sOwner") String sOwner
	);
	
	/**
	 * 查询当前表最后的时间(格式:yyyy-MM-dd HH:mm:ss)
	 * @param sTable
	 * @param sOwner
	 * @return
	 */
	String findMaxDateStr(
		@Param("sTable") String sTable,
		@Param("sOwner") String sOwner
	);
	
	/**
	 * 查询指定时间内数据
	 * @param sTable
	 * @param sOwner
	 * @param dDateSt
	 * @param dDateEd
	 * @return
	 */
	List<SynchTable> findByDate(
		@Param("sTable") String sTable,
		@Param("sOwner") String sOwner,
		@Param("dDateSt") Date dDateSt,
		@Param("dDateEd") Date dDateEd
	);
	
	/**
	 * 查询各用户最后同步时间
	 * @return
	 */
	List<Map<String, String>> findLastDate();
	
}
